/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package InterfaceGUI;
import data.*;
import java.text.ParseException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Container.*;
import javax.swing.text.MaskFormatter;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.awt.event.ItemListener;


public class Zugriffsberechtigung {

//Deklarierung der Variablen
JButton abbrechen;
JButton anlegen;
JFrame frame;
DefaultComboBoxModel comboBoxModel1;
JScrollPane scroller;
JLabel kalenderLabel;
JComboBox kalender;
JLabel berechtigungLabel;
JComboBox berechtigung;
JLabel personLabel;
JComboBox person;
JButton ok;


public static void main(String[] args) {
        Zugriffsberechtigung gui = new Zugriffsberechtigung ();
        gui.zugriffsberechtigungAnlegen ();
        }

//Methode welche den Frame, mitsamt den Panels und Komponenten erstellt
public void zugriffsberechtigungAnlegen (){

//ein neuer Frame wird erstellt
frame = new JFrame ("Zugriffsberechtigung anlegen");

//ein neues Panel wird erstellt
JPanel zugriffsberechtigungAnlegenPanel = new JPanel();

//ein neues Gridbaglayout wird erstellt
GridBagLayout gbl = new GridBagLayout();

//dem buchungAnlegenPanel wird das neue Gridbaglayout zugewiesen
zugriffsberechtigungAnlegenPanel.setLayout(gbl);

//es werden neue GridBagConstraints erstellt
GridBagConstraints constraints = new GridBagConstraints();

personLabel = new JLabel("Person:");
constraints.insets = new Insets(9, 9, 9, 9);
constraints.anchor = GridBagConstraints.WEST;
constraints.weightx = 0;
zugriffsberechtigungAnlegenPanel.add(personLabel, constraints);;

person = new JComboBox();
Dimension groessezugriffsberechtigungeintragtyp = new Dimension(310, 25);
person.setPreferredSize(groessezugriffsberechtigungeintragtyp);
//constraints.gridwidth = GridBagConstraints.REMAINDER;
constraints.gridwidth = GridBagConstraints.REMAINDER;
constraints.weightx = 1;
constraints.fill = GridBagConstraints.NONE;
//Combobox mit vordefinierten Daten f�llen
zugriffsberechtigungAnlegenPanel.add(person, constraints);


kalenderLabel= new JLabel("Kalender:");
constraints.gridwidth = 1;
constraints.weightx = 0;
constraints.fill = GridBagConstraints.NONE;
zugriffsberechtigungAnlegenPanel.add(kalenderLabel, constraints);

kalender = new JComboBox();
//Dimension groesseerstelltVon = new Dimension(310, 25);
kalender.setPreferredSize(groessezugriffsberechtigungeintragtyp);
constraints.gridwidth = GridBagConstraints.REMAINDER;
constraints.weightx = 1;
constraints.fill = GridBagConstraints.NONE;
zugriffsberechtigungAnlegenPanel.add(kalender, constraints);

berechtigungLabel= new JLabel("Berechtigungstyp:");
constraints.gridwidth = 1;
constraints.weightx = 0;
constraints.fill = GridBagConstraints.NONE;
zugriffsberechtigungAnlegenPanel.add(berechtigungLabel, constraints);

berechtigung = new JComboBox();
//Dimension groesseerinnerung = new Dimension(3100, 25);
berechtigung.setPreferredSize(groessezugriffsberechtigungeintragtyp);
constraints.gridwidth = GridBagConstraints.REMAINDER;
constraints.weightx = 1;
constraints.fill = GridBagConstraints.NONE;
berechtigung.addItem("Lesen");
berechtigung.addItem("Schreiben");
berechtigung.addItem("Lesen & Schreiben");
zugriffsberechtigungAnlegenPanel.add(berechtigung, constraints);


//Button Anlegen erstellen + ActionListener hinzufügen
anlegen = new JButton("anlegen");
constraints.insets = new Insets(56,9,0,0);
constraints.gridwidth = 1;
constraints.weightx = 0;
constraints.weighty = 0;
constraints.fill = GridBagConstraints.NONE;
zugriffsberechtigungAnlegenPanel.add(anlegen, constraints);
anlegen.addActionListener(new AnlegenListener());

//Button abbrechen erstellen + ActionListener hinzufügen
abbrechen = new JButton("abbrechen");
constraints.gridwidth = GridBagConstraints.REMAINDER;
constraints.weightx = 0;
constraints.weighty = 0;
constraints.fill = GridBagConstraints.NONE;
zugriffsberechtigungAnlegenPanel.add(abbrechen, constraints);
abbrechen.addActionListener(new zugriffsberechtigungeintragabbrechenListener());

//Framegröße festlegen
frame.getContentPane().add(zugriffsberechtigungAnlegenPanel);
frame.setSize(500, 400);
frame.setResizable(false);
frame.setVisible(true);
}

//Button Events zuordnen (Anlegen)
class AnlegenListener implements ActionListener{

    public void actionPerformed(ActionEvent event){

//    //Auslesen der ausgewählten Elemente der JList "start"
//    int selectionsstart[] = liststart.getSelectedIndices();
//    Object selectedValuesstart[] = liststart.getSelectedValues();
//          for (int i = 0, n = selectionsstart.length; i < n; i++) {
//            if (i == 0) {
//              System.out.println("  Selections: ");
//            }
//            System.out.println(selectionsstart[i] + "/" + selectedValuesstart[i] + " ");
//          }
//
//    //Auslesen der ausgewählten Elemente der JList "Werke zuordnen"
//    int selectionsende[] = listWerk.getSelectedIndices();
//    Object selectedValuesende[] = listWerk.getSelectedValues();
//          for (int i = 0, n = selectionsende.length; i < n; i++) {
//            if (i == 0) {
//              System.out.println("  Selections: ");
//            }
//            System.out.println(selectionsende[i] + "/" + selectedValuesende[i] + " ");
//          }
//
//
//    int antwort = JOptionPane.showConfirmDialog(frame, "Wollen Sie dieses zugriffsberechtigungeintrag anlegen?",
//      "", JOptionPane.YES_NO_OPTION);
//      if (antwort == JOptionPane.YES_OPTION){
//
//        //auslesen der einzelnen Strings der Felder. Diese werden dann in der Variable Ergebnisfelder zusammengefasst
//        String titel = titelField.getText();
//        int beschreibung = Integer.parseInt(beschreibungField.getText());
//        int ort = Integer.parseInt(ortField.getText());
//
////        JOptionPane.showMessageDialog(frame,ergebnisFelder);
//
//        //Überprüfen ob die zu Anlegende Person einen Titel trägt. Wenn Nein wird der leere String durch
//        // Füllzeichen ersetzt um keine Konflikte mit der DB zu bekommen
//        if (titel.equals("")) {
//            titel = "no title";
//        }
//
//        //Überprüfen ob alle Pflichtfelder ausgefüllt sind
//        if (titel.equals("")) {
//            JOptionPane.showMessageDialog(frame,"Bitte alle Pflichtfelder ausfüllen!");
//
//        //Hier muss noch eingebaut bwerden dass der Prozess nicht weiterläuft
//
//        }
//
//        try {
//                        // Zunächst benötigen wir eine Verbindung mit der Verwaltung.
//                        Verwaltung verwaltung =
//                                (Verwaltung)Naming.lookup("rmi:/localhost:1099/DRM");
//
//                        /*
//                         * Wenn wir hier ankommen, dann besteht eine Verbinung zum Server.
//                         * Wäre die Verbindung nicht zustande gekommen, so wäre eine Exception
//                         * ausgeworfen worden und das Programm wäre in den entsprechenden
//                         * Catch-Block (s.u.) gesprungen.
//                         */
//                        System.out.println("Verbindung hergestellt...");
//
//                        // Von der Verwaltung bekommen wir das Bank-Objekt.
//                        //Bank bank = verwaltung.getBank();
//
//                        // Hier wird entsprechend eine neue Person angelegt.
//                        //zugriffsberechtigungeintrag x = verwaltung.createWerk(titel, beschreibung, ort, kategorie);
//
//                }
//                catch (MalformedURLException murle) {
//                        System.out.println("MalformedURLException");
//                        System.out.println(murle);
//                }
//                catch (RemoteException re) {
//                        System.out.println("RemoteException");
//                        System.out.println(re);
//                }
//                catch (NotBoundException e) {
//                        System.out.println("NotBoundException");
//                        System.out.println(e);
//                }
//                catch (NullPointerException np) {
//                        System.out.println("NullPointerException");
//                        System.out.println(np);
//                }
//
//
//
//        JOptionPane.showMessageDialog(frame,"zugriffsberechtigungeintrag angelegt!");
//            frame.setVisible(false);
//      }
//        else if (antwort == JOptionPane.NO_OPTION)
//        frame.setVisible(false);
      }
}

//Button Events zuordnen (abbrechen)
class zugriffsberechtigungeintragabbrechenListener implements ActionListener{

    public void actionPerformed(ActionEvent event){

      int antwort = JOptionPane.showConfirmDialog(frame, "Wollen Sie den Vorgang wirklich beenden?",
      "", JOptionPane.YES_NO_OPTION);
      if (antwort == JOptionPane.YES_OPTION)
      frame.setVisible(false);
    }
}

class okListener implements ActionListener{

public void actionPerformed(ActionEvent event){

//     if(zugriffsberechtigungeintragtyp.getSelectedItem().equals("Termin"))
//        { teilnehmerLabel.setVisible(true);
//          listTeilnehmer.setVisible(true);
//          scroller.setVisible(true);
//     }
//
//if(zugriffsberechtigungeintragtyp.getSelectedItem().equals("zugriffsberechtigungeintrag"))
//        { teilnehmerLabel.setVisible(false);
//          listTeilnehmer.setVisible(false);
//          scroller.setVisible(false);
//     }
}
}

}